home *** CD-ROM | disk | FTP | other *** search
/ BBS Toolkit / BBS Toolkit.iso / doors_2 / tridr10a.zip / TRIDOOR.DOC < prev    next >
Text File  |  1992-10-03  |  19KB  |  1,057 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                                      TriDoor
  33.                                    Version 1.0
  34.                        Copyright (c) 1992 By Mark Goodwin
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.      TriDoor                                                              i
  74.  
  75.                                 COPYRIGHT NOTICE
  76.                                 ----------------
  77.  
  78.      TriDoor is a copyrighted program being distributed under the shareware
  79.      concept.  As such you may use TriDoor  for a period of 30 days without
  80.      registering the  software.   After the 30  day evaluation  period, you
  81.      must  register your  copy of TriDoor  or you  will be in  violation of
  82.      United States and International copyright laws.
  83.  
  84.      As a  shareware program, TriDoor  may be freely distributed  through a
  85.      BBS.  Shareware distributors may  distribute copies of TriDoor on disk
  86.      for a modest disk duplication charge not to exceed $6 per disk.
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.      TriDoor                                                             ii
  140.  
  141.                                     WARRANTY
  142.                                     --------
  143.  
  144.      TriDoor  is distributed  without  warranty.   In  no  event will  Mark
  145.      Goodwin be liable to you for  damages, including any loss of  profits,
  146.      lost savings, or other incidental or consequential damages arising out
  147.      of your  use of or inability to use  the program, even if Mark Goodwin
  148.      or an authorized representative has been advised of the possibility of
  149.      such damages.  Mark Goodwin  will not be liable for any such  claim by
  150.      any other party.
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.      TriDoor                                                            iii
  206.  
  207.                                 TABLE OF CONTENTS
  208.                                 -----------------
  209.  
  210.  
  211.      INTRODUCTION  . . . . . . . . . . . . . . . . . . . . . . . . . .    1
  212.  
  213.      USING TRIDOOR . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  214.  
  215.      RUNNING A TRIDOOR DOOR  . . . . . . . . . . . . . . . . . . . . .    3
  216.  
  217.      SPECIAL KEYS  . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  218.  
  219.      THE TRIDOOR VARIABLES . . . . . . . . . . . . . . . . . . . . . .    5
  220.           TDAnsiColor  . . . . . . . . . . . . . . . . . . . . . . . .    5
  221.           TDBaudRate . . . . . . . . . . . . . . . . . . . . . . . . .    5
  222.           TDBBSName  . . . . . . . . . . . . . . . . . . . . . . . . .    5
  223.           TDCityState  . . . . . . . . . . . . . . . . . . . . . . . .    5
  224.           TDDoorName . . . . . . . . . . . . . . . . . . . . . . . . .    5
  225.           TDLockedBaudRate . . . . . . . . . . . . . . . . . . . . . .    5
  226.           TDMinutesLeft  . . . . . . . . . . . . . . . . . . . . . . .    5
  227.           TDPhoneNumber  . . . . . . . . . . . . . . . . . . . . . . .    6
  228.           TDSecurityLevel  . . . . . . . . . . . . . . . . . . . . . .    6
  229.           TDSerialPort . . . . . . . . . . . . . . . . . . . . . . . .    6
  230.           TDSysopName  . . . . . . . . . . . . . . . . . . . . . . . .    6
  231.           TDUserFirstName  . . . . . . . . . . . . . . . . . . . . . .    6
  232.  
  233.      THE TRIDOOR FUNCTIONS . . . . . . . . . . . . . . . . . . . . . .    7
  234.           TDClrScr . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  235.           TDDisplayFile  . . . . . . . . . . . . . . . . . . . . . . .    7
  236.           TDDisplayBreakableFile . . . . . . . . . . . . . . . . . . .    7
  237.           TDGetBackground  . . . . . . . . . . . . . . . . . . . . . .    7
  238.           TDGetch  . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  239.           TDGetForeground  . . . . . . . . . . . . . . . . . . . . . .    7
  240.           TDGotoXY . . . . . . . . . . . . . . . . . . . . . . . . . .    7
  241.           TDInitialize . . . . . . . . . . . . . . . . . . . . . . . .    8
  242.           TDKeyPressed . . . . . . . . . . . . . . . . . . . . . . . .    8
  243.           TDPrintf . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  244.           TDPutch  . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  245.           TDPuts . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  246.           TDSetColor . . . . . . . . . . . . . . . . . . . . . . . . .    8
  247.           TDTimeLeft . . . . . . . . . . . . . . . . . . . . . . . . .   10
  248.           TDTimeOn . . . . . . . . . . . . . . . . . . . . . . . . . .   10
  249.  
  250.      SUPPORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  251.  
  252.      REGISTRATION  . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.      TriDoor                                                              1
  272.  
  273.                                   INTRODUCTION
  274.                                   ------------
  275.  
  276.      TriDoor  is a comprehensive set of Borland C++ and Turbo C++ functions
  277.      designed to enable programmers to easily  write doors for BBSes.   The
  278.      following are some of TriDoor's many features:
  279.  
  280.           Assembly language  serial input/output routines  for maximum
  281.           speed.
  282.  
  283.           Fully supports high  speed modems: 16550 FIFO  buffering and
  284.           locked serial ports.
  285.  
  286.           Built in ANSI  terminal emulator.  No need  to have ANSI.SYS
  287.           loaded in memory.
  288.  
  289.           Supports all  of the  most popular  door data  file formats:
  290.           TriBBS, PCBoard, GAP  (DOOR.SYS), Spitfire, WildCat!,  RBBS,
  291.           and WWIV.   Thus, a door built around  TriDoor is compatible
  292.           with a wide range of BBS software.
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.      TriDoor                                                              2
  338.  
  339.                                   USING TRIDOOR
  340.                                   -------------
  341.  
  342.      Because TriDoor comes  supplied as either a  Borland C++ (BCTDOOR.LIB)
  343.      or  Turbo C++ (TCTDOOR.LIB)  library it  can be  seamlessly integrated
  344.      with your  door program by  simply including  the name of  the library
  345.      either in the  door program's project file or in the command line that
  346.      you  use to  compile the  program.   Additionally, you  should include
  347.      TriDoor's header file  (TRIDOOR.H) in all  your door program's  source
  348.      code files.  Please note that the TriDoor libraries are compiled using
  349.      the large memory model; therefore, your door programs much be compiled
  350.      using the large memory model too.
  351.  
  352.      To initialize the  TriDoor door driver routines, you  must always call
  353.      TriDoor's TDInitialize  function at  the start of  your program.   The
  354.      TDInitialize  function must  be called  before your program  makes any
  355.      calls to any of TriDoor's other functions.
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.      TriDoor                                                              3
  404.  
  405.                              RUNNING A TRIDOOR DOOR
  406.                              ----------------------
  407.  
  408.      A TriDoor-based door program  is run by entering a  command similar to
  409.      the following:
  410.       
  411.      door config
  412.  
  413.      In the  above command line, "door" is the name of your door's EXE file
  414.      and the  "config" parameter  is the name  of the  door's configuration
  415.      file.  The configuration file can have any name the sysop chooses, but
  416.      it must reside in  the same directory as the door.   The configuration
  417.      file is an ASCII text file with the following format:
  418.  
  419.      Line 1:   Door data file type.
  420.      Line 2:   Path to the door data file(s).
  421.      Line 3:   BBS name.
  422.      Line 4:   Sysop's name.
  423.      Line 5:   Locked baud rate.
  424.  
  425.      As illustrated above, the door's data file type is specified in line 1
  426.      and can be PCB for PCBoard,  GAP for GAP (DOOR.SYS), SF for  Spitfire,
  427.      RBBS for  RBBS, WC for WildCat!, TRIBBS for  TriBBS, or WWIV for WWIV.
  428.      The  locked baud rate  is specified in  line 5.   If the sysop doesn't
  429.      lock  his serial  port, he must  specify 0  for the locked  baud rate.
  430.      NOTE: Although  many door formats do pass the  locked baud rate in the
  431.      door  data  files,  some older  formats  such  as RBBS  do  not.   For
  432.      conformity, TriDoor requires that you  specify the locked baud rate in
  433.      line 5 and ignores any value passed in the door data files.
  434.  
  435.      The following is a sample door configuration file:
  436.  
  437.      PCB
  438.      C:\tribbs\
  439.      The Lobster Buoy
  440.      Mark Goodwin
  441.      38400
  442.  
  443.      TriDoor can be  run locally without  a door data  file (handy for  the
  444.      sysop to  use the door  without logging on  to the BBS)  by specifying
  445.      LOCAL after the configuration file  parameter in the DOS command line.
  446.      TriDoor  will request the  user to enter  his name before  running the
  447.      door.
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.      TriDoor                                                              4
  470.  
  471.                                   SPECIAL KEYS
  472.                                   ------------
  473.  
  474.      While a door is running, the  sysop can press certain special keys  to
  475.      perform  a variety  of functions.    The following  is a  list  of the
  476.      functions that the TriDoor special keys perform:
  477.  
  478.      Key(s)              Function
  479.  
  480.      HOME                Toggles  between the user status window and a help
  481.                          display that lists the TriDoor special keys.
  482.  
  483.      F6                  Takes 5 minutes away from the caller.
  484.                          NOTE:  This will NOT be returned to BBS.
  485.  
  486.      F7                  Gives 5 minutes to the caller.
  487.                          NOTE:  This will NOT be returned to the BBS.
  488.  
  489.      F9                  Quit the door and return the caller to the BBS.
  490.  
  491.      F10                 Enter  chat mode.  Pressing  the ESC key exits the
  492.                          chat mode.
  493.  
  494.      Alt+D               Drop to DOS.
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.      TriDoor                                                              5
  536.  
  537.                               THE TRIDOOR VARIABLES
  538.                               ---------------------
  539.  
  540.      The following are  the global variables that TriDoor  supplies for the
  541.      door author's convenience:
  542.  
  543.  
  544.      int TDAnsiColor;
  545.  
  546.      The TDAnsiColor  variable is set  to 1 for  a caller using  ANSI color
  547.      graphics or to 0 for a monochrome caller.
  548.  
  549.  
  550.      long TDBaudRate;
  551.  
  552.      The TDBaudRate  variable holds  the caller's baud  rate.  This  is the
  553.      caller's actual connection  rate and not the locked baud  rate.  NOTE:
  554.      TriDoor will set TDBaudRate to 0 for local calls.
  555.  
  556.  
  557.      char TDBBSName[81];
  558.  
  559.      The TDBBSName variable holds the BBS's name.
  560.  
  561.  
  562.      char TDCityState[81];
  563.  
  564.      The TDCityState  variable holds the user's  city and state.   This may
  565.      not be supported by all door formats  and will be set to a null string
  566.      if not.
  567.  
  568.  
  569.      char TDDoorName[81];
  570.  
  571.      The TDDoorName variable holds the  door's name.  The door's name  will
  572.      be displayed in the user status window.  NOTE: It is the door author's
  573.      responsibility to assign a value to this variable.
  574.  
  575.  
  576.      long TDLockedBaudRate;
  577.  
  578.      The  TDLockedBaudRate variable  holds the  serial  port's locked  baud
  579.      rate, if any.
  580.  
  581.  
  582.      int TDMinutesLeft;
  583.  
  584.      The TDMinutesLeft variable holds the  number of minutes the caller had
  585.      remaining when he entered the door.
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.      TriDoor                                                              6
  602.  
  603.  
  604.      char TDPhoneNumber[81];
  605.  
  606.      The TDPhoneNumber  variable holds the  user's phone number.   This may
  607.      not be supported by all door formats and  will be set to a null string
  608.      if not.
  609.  
  610.  
  611.      int TDSecurityLevel;
  612.  
  613.      The TDSecurityLevel variable holds the caller's security level.
  614.  
  615.  
  616.      int TDSerialPort;
  617.  
  618.      The TDSerialPort variable holds the number of the serial port.
  619.  
  620.  
  621.      char TDSysopName[81];
  622.  
  623.      The TDSysopName variable holds the sysop's name.
  624.  
  625.  
  626.      char TDUserFirstName[81];
  627.  
  628.      The TDUserFirstName variable holds the user's first name.
  629.  
  630.  
  631.      char TDUserName[81];
  632.  
  633.      The TDUserName variable holds the user's name.
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.      TriDoor                                                              7
  668.  
  669.                               THE TRIDOOR FUNCTIONS
  670.                               ---------------------
  671.  
  672.      The following is a explanation of the functions that TriDoor provides:
  673.  
  674.  
  675.      void TDClrScr(void);
  676.  
  677.      The TDClrScr function clears both the local and remote displays.
  678.  
  679.  
  680.      void TDDisplayFile(char *file);
  681.  
  682.      The TDDisplayFile function displays the  file specified by the  "file"
  683.      parameter 22 lines at a time.
  684.  
  685.  
  686.      void TDDisplayBreakableFile(char *file);
  687.  
  688.      The TDDisplayBreakableFile function displays the file specified by the
  689.      "file" parameter 22 lines at a time.   If the user presses <SPACE>  at
  690.      any time, TriDoor will skip displaying the remainder of the file.
  691.  
  692.  
  693.      int TDGetBackground(void);
  694.  
  695.      The TDGetBackground function returns the current background color.
  696.  
  697.  
  698.      int TDGetch(void);
  699.  
  700.      The TDGetch  function  waits for  either  a key  to  be pressed  or  a
  701.      character to come in through  the serial port.  As soon as a character
  702.      is available, its value will be returned by TDGetch.
  703.  
  704.  
  705.      int TDGetForeground(void);
  706.  
  707.      The TDGetForeground function returns the current foreground color.
  708.  
  709.  
  710.      char *TDGets(char *string);
  711.  
  712.      The TDGets function returns a string that if entered either locally or
  713.      remotely.    The string's  location  is  pointed  to by  the  "string"
  714.      parameter.
  715.  
  716.  
  717.      void TDGotoXY(int x, int y);
  718.  
  719.      The TDGotoXY  procedure positions  the cursor for  both the  local and
  720.      remote displays.  The cursor's new column position is specified by the
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733.      TriDoor                                                              8
  734.  
  735.      "x"  parameter and  its  new  row position  is  specified  by the  "y"
  736.      parameter.   NOTE: This  will only work  if the user  has ANSI enabled
  737.      (TriDoor will  ignore this statement if called  when the user does not
  738.      have ANSI enabled).
  739.  
  740.  
  741.      void TDInitialize(void);
  742.  
  743.      The  TDInitialize   function  initializes  the   TriDoor  door  driver
  744.      routines.   This  function must  be called  before  you use  any other
  745.      TriDoor functions in your program.
  746.  
  747.  
  748.      int TDKeyPressed(void);
  749.  
  750.      The TDKeyPressed function indicates if  a key has been pressed locally
  751.      or a  character has been received remotely.   If a character is ready,
  752.      the TDKeyPressed function  will return a value  of 1.  Otherwise,  the
  753.      TDKeyPressed function  will return a  value of  0 to  indicate that  a
  754.      character isn't available.
  755.  
  756.  
  757.      int TDPrintf(char *s, ...);
  758.  
  759.      The TDPrintf  function acts  identically like  the  C runtime  library
  760.      printf function except it  sends the output to both  the local display
  761.      screen and to the remote caller.
  762.  
  763.  
  764.      void TDPutch(int c);
  765.  
  766.      The  TDPutch  function  sends  the  character  specified  by  the  "c"
  767.      parameter to both the local display and to the remote caller.
  768.  
  769.  
  770.      void TDPuts(char *s);
  771.  
  772.      The TDPuts function sends the string specified by the "s" parameter to
  773.      both the local display and to the remote caller.
  774.  
  775.  
  776.      int TDSetColor(int f, int b); 
  777.  
  778.      The TDSetColor procedure sets the foreground color (the "f" parameter)
  779.      and the  background color (the "b"  parameter) for both the  local and
  780.      remote displays.  NOTE: The  colors will only be set if the caller has
  781.      ANSI color graphics enabled.  The foreground colors are as follows:
  782.  
  783.            0 - Black
  784.            1 - Blue
  785.            2 - Green
  786.            3 - Cyan
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.      TriDoor                                                              9
  800.  
  801.            4 - Red
  802.            5 - Magenta
  803.            6 - Brown
  804.            7 - White
  805.            8 - Dark grey
  806.            9 - Light blue
  807.           10 - Light green
  808.           11 - Light cyan
  809.           12 - Light red
  810.           13 - Light magenta
  811.           14 - Yellow
  812.           15 - Bright white
  813.  
  814.      The background colors are as follows:
  815.  
  816.            0 - Black
  817.            1 - Blue
  818.            2 - Green
  819.            3 - Cyan
  820.            4 - Red
  821.            5 - Magenta
  822.            6 - Brown
  823.            7 - White
  824.            8 - Black with blinking foreground
  825.            9 - Blue with blinking foreground
  826.           10 - Green with blinking foreground
  827.           11 - Cyan with blinking foreground
  828.           12 - Red with blinking foreground
  829.           13 - Magenta with blinking foreground
  830.           14 - Yellow with blinking foreground
  831.           15 - White with blinking foreground
  832.  
  833.      The following constants are  defined in TRIDOOR.H to make it easier to
  834.      specify color values:
  835.  
  836.            0 - BLACK
  837.            1 - BLUE
  838.            2 - GREEN
  839.            3 - CYAN
  840.            4 - RED
  841.            5 - MAGENTA
  842.            6 - BROWN
  843.            7 - LIGHTGRAY
  844.            8 - DARKGRAY
  845.            9 - LIGHTBLUE
  846.           10 - LIGHTGREEN
  847.           11 - LIGHTCYAN
  848.           12 - LIGHTRED
  849.           13 - LIGHTMAGENTA
  850.           14 - YELLOW
  851.           15 - WHITE
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.  
  863.  
  864.  
  865.      TriDoor                                                             10
  866.  
  867.      int TDTimeLeft(void);
  868.  
  869.      The TDTimeLeft function  returns the number of minutes  the caller has
  870.      remaining.
  871.  
  872.  
  873.      int TDTimeOn(void);
  874.  
  875.      The TDTimeOn  function returns the  number of minutes that  the caller
  876.      has been in the door.
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.      TriDoor                                                             11
  932.  
  933.                                      SUPPORT
  934.                                      -------
  935.  
  936.      You may  obtain assistance with  a TriDoor related problem  by calling
  937.      The Lobster Buoy at 207-941-0805.
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.  
  995.  
  996.  
  997.      TriDoor                                                             12
  998.  
  999.                                   REGISTRATION
  1000.                                   ------------
  1001.  
  1002.      Registration of TriDoor  is only $25.00.   Please use the form  in the
  1003.      file REGISTER.TXT.  When you register TriDoor, you will receive a disk
  1004.      with registered versions of both the Borland C++ and Turbo C++ TriDoor
  1005.      libraries.
  1006.  
  1007.  
  1008.  
  1009.  
  1010.  
  1011.  
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.